home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekikoh Dennoh Club 5
/
Gekikoh Dennoh Club Vol. 5 (Japan).7z
/
Gekikoh Dennoh Club Vol. 5 (Japan) (Track 01).bin
/
games
/
kenka
/
kenka2s.lzh
/
c_init.inc
< prev
next >
Wrap
Text File
|
1998-09-07
|
14KB
|
692 lines
*---------------------------------------
*
* âLâââëâNâ^ü[âZâîâNâg
*
* by Shiroh Nakaya
*
*---------------------------------------
chara_init:
move.w #$0000,BG_CTRL * âXâvâëâCâgò\Īénéeée
lea.l pal_data,a1
movea.l #SP_PALETTE+32,a2 * âpâîâbâgâAâhâîâX
move.w #5-1,d0 * âpâîâbâgô]æù
1:
move.w #8-1,d1
2:
move.l (a1)+,(a2)+
dbra d1,2b
lea.l 32(a1),a1
dbra d0,1b
movea.l #pal_data+DAN_C,a1
move.w #8-1,d1
2:
move.l (a1)+,(a2)+
dbra d1,2b
lea.l 32(a1),a1
move.w #8-1,d1
2:
move.l (a1)+,(a2)+
dbra d1,2b
lea.l 32(a1),a1
move.w #8-1,d1
2:
move.l (a1)+,(a2)+
dbra d1,2b
lea.l pcg_data,a0
movea.l a0,a1
movea.l #PCG_UP,a2
movea.l #SP_SCROLL,a6
adda.l #CUR,a1 * âJü[â\âïâpâ^ü[âôé¿éµé╤
move.w #96-1,d0 * âOâëâtâBâbâNëBé╡éaéfâpâ^ü[âôô]æù
@@:
move.l (a1)+,(a2)+
dbra d0,@b
move.w #16,(a6)+
move.w #192,(a6)+
move.w #$0100,(a6)+
move.w #3,(a6)+
move.w #240,(a6) * ébéoétÉφâéü[âhé┼é═ùpé╚é╡
tst.w c_or_h
bne @f
clr.w (a6)
@@:
addq.l #2,a6
move.w #192,(a6)+
move.w #$0101,(a6)+
move.w #3,(a6)+
movea.l #PCG_DOWN,a3 * âOâëâtâBâbâNé≡ëBé╖
move.l #$0109_0109,d3
move.w #32-1,d1
1:
movea.l a3,a4
move.w #16-1,d2
2:
move.l d3,(a4)+
dbra d2,2b
adda.w #128,a3
dbra d1,1b
movea.l a0,a1 * è┐Äaâpâ^ü[âôô]æù
adda.l #KAN_K,a1
move.w #256-1,d0
@@:
move.l (a1)+,(a2)+
dbra d0,@b
move.w #208,d2
move.w #$0103,d7
move.w #4-1,d3
1:
move.w #2-1,d4
move.w #16,d1
2:
move.w d1,(a6)+
move.w d2,(a6)+
move.w d7,(a6)+
move.w #$0003,(a6)+
addi.w #16,d1
addq.w #1,d7
dbra d4,2b
addi.w #16,d2
dbra d3,1b
movea.l a0,a1 * âWâçâôâpâ^ü[âôô]æù
adda.l #JOH_K,a1
move.w #256-1,d0
@@:
move.l (a1)+,(a2)+
dbra d0,@b
move.w #208,d2
move.w #$0203+8,d7
move.w #4-1,d3
1:
move.w #2-1,d4
move.w #48,d1
2:
move.w d1,(a6)+
move.w d2,(a6)+
move.w d7,(a6)+
move.w #$0003,(a6)+
addi.w #16,d1
addq.w #1,d7
dbra d4,2b
addi.w #16,d2
dbra d3,1b
movea.l a0,a1 * ânâôâRü[âpâ^ü[âôô]æù
adda.l #HAN_K,a1
move.w #256-1,d0
@@:
move.l (a1)+,(a2)+
dbra d0,@b
move.w #208,d2
move.w #$0303+16,d7
move.w #4-1,d3
1:
move.w #2-1,d4
move.w #80,d1
2:
move.w d1,(a6)+
move.w d2,(a6)+
move.w d7,(a6)+
move.w #$0003,(a6)+
addi.w #16,d1
addq.w #1,d7
dbra d4,2b
addi.w #16,d2
dbra d3,1b
movea.l a0,a1 * âWâàâCâpâ^ü[âôô]æù
adda.l #JUI_K,a1
move.w #256-1,d0
@@:
move.l (a1)+,(a2)+
dbra d0,@b
move.w #208,d2
move.w #$0403+24,d7
move.w #4-1,d3
1:
move.w #2-1,d4
move.w #112,d1
2:
move.w d1,(a6)+
move.w d2,(a6)+
move.w d7,(a6)+
move.w #$0003,(a6)+
addi.w #16,d1
addq.w #1,d7
dbra d4,2b
addi.w #16,d2
dbra d3,1b
movea.l a0,a1 * âOâèâhâpâ^ü[âôô]æù
adda.l #GRI_K,a1
move.w #256-1,d0
@@:
move.l (a1)+,(a2)+
dbra d0,@b
move.w #208,d2
move.w #$0503+32,d7
move.w #4-1,d3
1:
move.w #2-1,d4
move.w #144,d1
2:
move.w d1,(a6)+
move.w d2,(a6)+
move.w d7,(a6)+
move.w #$0003,(a6)+
addi.w #16,d1
addq.w #1,d7
dbra d4,2b
addi.w #16,d2
dbra d3,1b
movea.l a0,a1 * â_âjü[âpâ^ü[âôô]æù
adda.l #DAN_K,a1
move.w #256-1,d0
@@:
move.l (a1)+,(a2)+
dbra d0,@b
move.w #208,d2
move.w #$0603+40,d7
move.w #4-1,d3
1:
move.w #2-1,d4
move.w #176,d1
2:
move.w d1,(a6)+
move.w d2,(a6)+
move.w d7,(a6)+
move.w #$0003,(a6)+
addi.w #16,d1
addq.w #1,d7
dbra d4,2b
addi.w #16,d2
dbra d3,1b
movea.l a0,a1 * âiâôâVü[âpâ^ü[âôô]æù
adda.l #NAN_K,a1
move.w #256-1,d0
@@:
move.l (a1)+,(a2)+
dbra d0,@b
move.w #208,d2
move.w #$0703+48,d7
move.w #4-1,d3
1:
move.w #2-1,d4
move.w #208,d1
2:
move.w d1,(a6)+
move.w d2,(a6)+
move.w d7,(a6)+
move.w #$0003,(a6)+
addi.w #16,d1
addq.w #1,d7
dbra d4,2b
addi.w #16,d2
dbra d3,1b
movea.l a0,a1 * â{âuâpâ^ü[âôô]æù
adda.l #BOB_K,a1
move.w #256-1,d0
@@:
move.l (a1)+,(a2)+
dbra d0,@b
move.w #208,d2
move.w #$0803+56,d7
move.w #4-1,d3
1:
move.w #2-1,d4
move.w #240,d1
2:
move.w d1,(a6)+
move.w d2,(a6)+
move.w d7,(a6)+
move.w #$0003,(a6)+
addi.w #16,d1
addq.w #1,d7
dbra d4,2b
addi.w #16,d2
dbra d3,1b
move.w #$0201,BG_CTRL * éaéfò\Īéném
moveq.l #$23,d0
moveq.l #5,d1
moveq.l #0,d2
trap #15 * IOCS _B_LOCATE
moveq.l #$21,d0
lea.l esc_mess(pc),a1
trap #15 * IOCS _B_PRINT
moveq.l #$23,d0
moveq.l #0,d1
moveq.l #9,d2
trap #15 * IOCS _B_LOCATE
moveq.l #$21,d0
lea.l chara_name_1(pc),a1
trap #15 * IOCS _B_PRINT
moveq.l #$23,d0
moveq.l #0,d1
moveq.l #10,d2
trap #15 * IOCS _B_LOCATE
moveq.l #$21,d0
lea.l chara_name_2(pc),a1
trap #15 * IOCS _B_PRINT
moveq.l #$23,d0
moveq.l #11,d1
moveq.l #1,d2
trap #15 * IOCS _B_LOCATE
moveq.l #$21,d0
lea.l select_mess(pc),a1
trap #15 * IOCS _B_PRINT
moveq.l #$1f,d0
trap #15 * IOCS _B_CUROFF
move.w #0,cur1_x * éPéoâJü[â\âïê╩Æu
move.w #7,cur2_x * éQéoâJü[â\âïê╩Æu
moveq.l #0,d3
moveq.l #0,d4
moveq.l #$01,d7 * æIæ≡ì╧é▌âtâëâO
tst.w c_or_h
beq @f * ébéoétÉφÄ₧é═éPéoé╠é▌é╠æIæ≡
moveq.l #$03,d7
@@:
movea.l #SP_SCROLL,a6
movea.l a5,a1
lea.l P2_DATA(a5),a2
move.w #10,C_NO(a1) * âLâââëâiâôâoü[é¬éPéOé╠Ä₧é═û│æIæ≡
move.w #10,C_NO(a2)
chara_select_loop:
V_WAIT * âEâGâCâg
btst #0,d7
beq player2_select
bsr joy_0
move.w d0,d1
lsr.b #5,d1 * âgâèâKü[îƒÅo
eori.b #$ff,d1
andi.l #$03,d1 * âCâôâfâbâNâXé╔òsòKùvé╚âfü[â^é≡ìφÅ£
beq stick1_check
move.w cur1_x(pc),C_NO(a1) * âLâââëâiâôâoü[âZâbâg
cmpi.w #10,C_NO(a2) * éαé╡æèÄΦé¬é▄é╛æIæ≡é╡é─éóé╚éóé╚éτ
beq p1_trig_test * Ä⌐ò¬é╠ê╙Äué┼âLâââëâJâëü[é≡æIæ≡
move.w C_NO(a2),d1
cmp.w C_NO(a1),d1 * æèÄΦé¬é╖é┼é╔æIæ≡ì╧é▌é┼ô»âLâââëé╛é┴é╜éτ
bne p1_trig_test * æèÄΦé╞êßéñâLâââëâJâëü[é╔é╖éΘ
tst.w C_COL(a2)
bne p1_p1_color
p1_p2_color:
move.w #1,C_COL(a1)
bra @f
p1_trig_test: * ëƒé│éΩé╜âgâèâKü[é╔éµéΦâLâââëâJâëü[îêÆΦ
btst #6,d0
bne p1_p2_color
p1_p1_color:
clr.w C_COL(a1)
@@:
bclr #0,d7 * éPéoâLâââëæIæ≡è«ù╣
move.b #1,$00e92001 * é`écéoébélÆΓÄ~
move.b #$20,$e840c7 * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
@@:
tst.b OPM_DATA
bmi @b
move.b #$1b,OPM_REG_NO * âNâìâbâNÉ▌ÆΦ
bset #7,OPM_DATA
move.b #$08,$00e9a005 * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
move.b #$80,$00e840c4 * écélé`ébÉ▌ÆΦ
move.b #$04,$00e840c6
move.b #$05,$00e840e9
move.b #$01,$00e840ed
move.b #$05,$00e840f1
move.b #$72,$00e840c5
st $00e840c0
move.l #adpcm_data+GYOH,$00e840cc * ô]æùî│âAâhâîâX
move.l #$00e92003,$00e840d4 * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
move.w #706,$00e840ca * ô]æùâTâCâY
move.b #$88,$00e840c7 * ô]æùèJÄn
move.b #2,$00e92001 * é`écéoébélö¡É║èJÄn
bra player2_select
stick1_check: * âXâeâBâbâNö╗ÆΦ
tst.w d3
bne stick1_wait
btst #2,d0
bne @f
subq.w #1,cur1_x * âLâââëâiâôâoü[é≡âLü[é╔Ä└ì█é╠âJü[â\âï
andi.w #$0007,cur1_x * ò\Īê╩Æué≡ô╛éΘ
lea.l chara_loc(pc),a4
move.w cur1_x(pc),d1
add.w d1,d1
move.w 0(a4,d1.w),(a6) * âJü[â\âïê┌ô«
move.b #1,$00e92001 * é`écéoébélÆΓÄ~
move.b #$20,$e840c7 * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
1:
tst.b OPM_DATA
bmi 1b
move.b #$1b,OPM_REG_NO * âNâìâbâNÉ▌ÆΦ
bclr #7,OPM_DATA
move.b #$08,$00e9a005 * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
move.b #$80,$00e840c4 * écélé`ébÉ▌ÆΦ
move.b #$04,$00e840c6
move.b #$05,$00e840e9
move.b #$01,$00e840ed
move.b #$05,$00e840f1
move.b #$72,$00e840c5
st $00e840c0
move.l #adpcm_data+BOH,$00e840cc * ô]æùî│âAâhâîâX
move.l #$00e92003,$00e840d4 * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
move.w #496,$00e840ca * ô]æùâTâCâY
move.b #$88,$00e840c7 * ô]æùèJÄn
move.b #2,$00e92001 * é`écéoébélö¡É║èJÄn
bra stick1_wait
@@:
btst #3,d0
bne player2_select
addq.w #1,cur1_x
andi.w #$0007,cur1_x
lea.l chara_loc(pc),a4
move.w cur1_x(pc),d1
add.w d1,d1
move.w 0(a4,d1.w),(a6)
move.b #1,$00e92001 * é`écéoébélÆΓÄ~
move.b #$20,$e840c7 * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
1:
tst.b OPM_DATA
bmi 1b
move.b #$1b,OPM_REG_NO * âNâìâbâNÉ▌ÆΦ
bclr #7,OPM_DATA
move.b #$08,$00e9a005 * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
move.b #$80,$00e840c4 * écélé`ébÉ▌ÆΦ
move.b #$04,$00e840c6
move.b #$05,$00e840e9
move.b #$01,$00e840ed
move.b #$05,$00e840f1
move.b #$72,$00e840c5
st $00e840c0
move.l #adpcm_data+BOH,$00e840cc * ô]æùî│âAâhâîâX
move.l #$00e92003,$00e840d4 * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
move.w #496,$00e840ca * ô]æùâTâCâY
move.b #$88,$00e840c7 * ô]æùèJÄn
move.b #2,$00e92001 * é`écéoébélö¡É║èJÄn
stick1_wait: * âXâeâBâbâNé¬ëƒé│éΩé┴é╧é╚é╡é╠Ä₧é╠âJü[â\âï
addq.w #1,d3 * ê┌ô«é╠ɺîΣ
btst #2,d0
bne 1f
bra 2f
1:
btst #3,d0
bne @f
2:
cmpi.w #15,d3
ble player2_select
@@:
moveq.l #0,d3
player2_select: * Åêù¥é═Åπé╞ô»é╢
tst.w c_or_h
beq select_exit
btst #1,d7
beq select_exit
bsr joy_1
move.w d0,d1
lsr.b #5,d1
eori.b #$ff,d1
andi.l #$03,d1
beq stick2_check
move.w cur2_x(pc),C_NO(a2)
cmpi.w #10,C_NO(a1)
beq p2_trig_test
move.w C_NO(a1),d1
cmp.w C_NO(a2),d1
bne p2_trig_test
tst.w C_COL(a1)
bne p2_p1_color
p2_p2_color:
move.w #1,C_COL(a2)
bra @f
p2_trig_test:
btst #6,d0
bne p2_p2_color
p2_p1_color:
clr.w C_COL(a2)
@@:
bclr #1,d7
move.b #1,$00e92001 * é`écéoébélÆΓÄ~
move.b #$20,$e840c7 * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
@@:
tst.b OPM_DATA
bmi @b
move.b #$1b,OPM_REG_NO * âNâìâbâNÉ▌ÆΦ
bset #7,OPM_DATA
move.b #$08,$00e9a005 * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
move.b #$80,$00e840c4 * écélé`ébÉ▌ÆΦ
move.b #$04,$00e840c6
move.b #$05,$00e840e9
move.b #$01,$00e840ed
move.b #$05,$00e840f1
move.b #$72,$00e840c5
st $00e840c0
move.l #adpcm_data+GYOH,$00e840cc * ô]æùî│âAâhâîâX
move.l #$00e92003,$00e840d4 * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
move.w #706,$00e840ca * ô]æùâTâCâY
move.b #$88,$00e840c7 * ô]æùèJÄn
move.b #2,$00e92001 * é`écéoébélö¡É║èJÄn
bra select_exit
stick2_check:
tst.w d4
bne stick2_wait
btst #2,d0
bne @f
subq.w #1,cur2_x
andi.w #$0007,cur2_x
lea.l chara_loc(pc),a4
move.w cur2_x(pc),d1
add.w d1,d1
move.w 0(a4,d1.w),8(a6)
move.b #1,$00e92001 * é`écéoébélÆΓÄ~
move.b #$20,$e840c7 * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
1:
tst.b OPM_DATA
bmi 1b
move.b #$1b,OPM_REG_NO * âNâìâbâNÉ▌ÆΦ
bclr #7,OPM_DATA
move.b #$08,$00e9a005 * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
move.b #$80,$00e840c4 * écélé`ébÉ▌ÆΦ
move.b #$04,$00e840c6
move.b #$05,$00e840e9
move.b #$01,$00e840ed
move.b #$05,$00e840f1
move.b #$72,$00e840c5
st $00e840c0
move.l #adpcm_data+BOH,$00e840cc * ô]æùî│âAâhâîâX
move.l #$00e92003,$00e840d4 * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
move.w #496,$00e840ca * ô]æùâTâCâY
move.b #$88,$00e840c7 * ô]æùèJÄn
move.b #2,$00e92001 * é`écéoébélö¡É║èJÄn
bra stick2_wait
@@:
btst #3,d0
bne select_exit
addq.w #1,cur2_x
andi.w #$0007,cur2_x
lea.l chara_loc(pc),a4
move.w cur2_x(pc),d1
add.w d1,d1
move.w 0(a4,d1.w),8(a6)
move.b #1,$00e92001 * é`écéoébélÆΓÄ~
move.b #$20,$e840c7 * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
1:
tst.b OPM_DATA
bmi 1b
move.b #$1b,OPM_REG_NO * âNâìâbâNÉ▌ÆΦ
bclr #7,OPM_DATA
move.b #$08,$00e9a005 * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
move.b #$80,$00e840c4 * écélé`ébÉ▌ÆΦ
move.b #$04,$00e840c6
move.b #$05,$00e840e9
move.b #$01,$00e840ed
move.b #$05,$00e840f1
move.b #$72,$00e840c5
st $00e840c0
move.l #adpcm_data+BOH,$00e840cc * ô]æùî│âAâhâîâX
move.l #$00e92003,$00e840d4 * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
move.w #496,$00e840ca * ô]æùâTâCâY
move.b #$88,$00e840c7 * ô]æùèJÄn
move.b #2,$00e92001 * é`écéoébélö¡É║èJÄn
stick2_wait:
addq.w #1,d4
btst #2,d0
bne 1f
bra 2f
1:
btst #3,d0
bne @f
2:
cmpi.w #15,d4
ble select_exit
@@:
moveq.l #0,d4
select_exit:
moveq.l #0,d0
btst #1,KEY_TBL.w * édérébâLü[é¬ëƒé│éΩé╜ÅΩìçâQü[âÇÅIù╣
bne esc_exit
tst.w d7 * âLâââëé¬ô±Élé╞éαîêé▄é┴é─é╚é»éΩé╬ô¬é╠Åêù¥é╓
bne chara_select_loop
move.w #30-1,d0 * é┐éσéóé╞é╡é╜âEâGâCâgüiû±éOüDéTòbüj
@@:
V_WAIT
dbra d0,@b
moveq.l #1,d0
esc_exit:
movea.l #SP_SCROLL,a6 * ò\ĪâXâvâëâCâgé≡ëµû╩èOé╓
move.w #66-1,d1
@@:
clr.w (a6)
lea.l 8(a6),a6
dbra d1,@b
move.w d0,d3
moveq.l #$23,d0
moveq.l #5,d1
moveq.l #0,d2
trap #15 * IOCS _B_LOCATE
moveq.l #$21,d0
lea.l no_mess(pc),a1
trap #15 * IOCS _B_PRINT
moveq.l #$23,d0
moveq.l #0,d1
moveq.l #9,d2
trap #15 * IOCS _B_LOCATE
moveq.l #$21,d0
lea.l no_mess(pc),a1
trap #15 * IOCS _B_PRINT
moveq.l #$23,d0
moveq.l #0,d1
moveq.l #10,d2
trap #15 * IOCS _B_LOCATE
moveq.l #$21,d0
lea.l no_mess(pc),a1
trap #15 * IOCS _B_PRINT
moveq.l #$23,d0
moveq.l #11,d1
moveq.l #1,d2
trap #15 * IOCS _B_LOCATE
moveq.l #$21,d0
lea.l no_mess(pc),a1
trap #15 * IOCS _B_PRINT
moveq.l #$1f,d0
trap #15 * IOCS _B_CUROFF
@@:
btst #1,KEY_TBL.w * édérébâLü[é¬ëƒé│éΩé┴é╧é╚é╡é╠Ä₧é╠Åêù¥
bne @b
move.w d3,d0
rts
*---------------------------------------
* âLâââëâNâ^ü[âfü[â^âZâbâg
*
chara_set:
move.w C_NO(a1),d2
add.w d2,d2
add.w d2,d2
lea.l chara_tbl(pc),a4
movea.l 0(a4,d2.w),a4
clr.w C_M_F(a1)
clr.w C_AK_F(a1)
move.w #1,C_AM_F(a1)
clr.w C_HIT_C(a1)
clr.w C_ANI_WC(a1)
clr.w C_CNT(a1)
clr.w C_HIT_F(a1)
move.w #240,C_K(a1)
clr.w C_B_JOY(a1)
jsr (a4)
rts
*---------------------------------------
.even
chara_loc:
.dc.w 16,48,80,112,144,176,208,240
cur1_x:
.dc.w 0
cur2_x:
.dc.w 7
chara_name_1:
.dc.b 'è┐Äaü@ü@HANGü@ü@GRIDü@ü@NANCY',0
.even
chara_name_2:
.dc.b 'ü@ü@JOHNü@ü@JUI ü@ü@DANNY ü@ BOB',0
.even
*---------------------------------------